package com.desire.test;

import java.util.concurrent.TimeUnit;

/**
 * @author desire
 */
public class _38_线程1 {
    public static void main(String[] args) {
        //多线程 方法一 继承Thread
        Thread thread = new Thread() {
            @Override
            public void run() {
                this.setName("one thread");
                System.out.println(this.getName());
            }
        };

        thread.setName("sadaffdsa");
        thread.start();
        // 在内部命名名字, 在外部命名名字都行  若内部外部都命名了名字  则优先使用内部的


        //多线程 方法二 实现接口，实现Thread作为参数
        var t2 = new Runnable() {
            @Override
            public void run() {
                String n = Thread.currentThread().getName();
                System.out.println(n);
            }
        };
        var t22 = new Thread(t2, "two thread");
        t22.setName("two222 thread");
        t22.start();

        //main线程输出
        try {
            TimeUnit.SECONDS.sleep(2);
            Thread.currentThread().setName("main thread");
            System.out.println(Thread.currentThread().getName());
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
